#include <dspSimulator/targetMachine/dspMachine.h>
#include "simulator/elf/elf32/elf32Loader.h"
#include <dspSimulator/dspSimulator/dspSimulator.h>

using namespace std;
using namespace dspsimulator;
using namespace simulator;

int main(int argc, char *argv[]) {
    std::shared_ptr<TargetMachine> dsp_machine = make_shared<DspMachine>();
    std::shared_ptr<LLVMJit> llvmJit = make_shared<LLVMJit>();
    const char *filePath = "/home/zengao/Desktop/dsp-sim/for.out";
    std::shared_ptr<simulator::ELF32Loader> elfLoader = std::make_shared<simulator::ELF32Loader>(filePath);
    std::shared_ptr<dspsimulator::DSPSimulator> dspSimulator = make_shared<dspsimulator::DSPSimulator>(dsp_machine, llvmJit,elfLoader);
    dspSimulator->run();
    return 0;
}